require_relative 'cool_product_a'
require_relative 'cool_product_b'
require_relative 'cool_product_c'
require_relative 'cool_product_d'

class CoolFactory
  @@instance = CoolFactory.new

  def self.instance
    @@instance
  end

  def create_product_A
    CoolProductA.new
  end

  def create_product_B
    CoolProductB.new
  end

  def create_product_C
    CoolProductC.new
  end

  def create_product_D
    CoolProductD.new
  end

  private_class_method :new
end